import { createStore } from 'vuex'

export default createStore({
  // 存放状态
  state: sessionStorage.getItem('state') ? JSON.parse(sessionStorage.getItem('state')) : {
    isLogin: false,
    username: ''
  },
  // 加工 state 成员给外界
  getters: {
    isLogin (state) {
      if (!state.isLogin) {    
          state.isLogin=sessionStorage.getItem('isLogin');   //从sessionStorage中读取状态
          state.username=sessionStorage.getItem('username');
      }
      return state.username
    }

  },
  // 成员组成
  mutations: {
    ADD_LOGIN_USER (state,data) {  //登入，保存状态
      sessionStorage.setItem("username", data);  //添加到sessionStorage
      sessionStorage.setItem("isLogin",true);
      state.username=data,             //同步的改变store中的状态
      state.isLogin=true
    },
    SIGN_OUT (state) {   //退出，删除状态
        sessionStorage.removeItem("username");  //移除sessionStorage
        sessionStorage.removeItem("isLogin");
        state.username=''                //同步的改变story中的状态
        state.isLogin=false

        this.$store.commit('ADD_LOGIN_USER',JSON.stringify(data));

    }
  },
  // 异步操作
  actions: {
  },
  // 模块化管理
  modules: {
  }
})
